/**
 * @description 商品配送费相关接口
 */

import request from '@/utils/request'

/**
 * @description (条件+分页)查询修改商品配送费单据
 * @param {Object} data 请求参数
 * @param {Object} data.queryFields 查询条件
 * @param {Array} data.queryFields.pzUpdateShippingFeeDList 商品列表条件
 * @param {string} data.queryFields.pzUpdateShippingFeeDList[].goodsName 商品名称
 * @param {number} data.currentPage 当前页码
 * @param {number} data.pageSize 每页条数
 * @returns {Promise} 商品配送费列表
 */
export const fetchDeliveryFeeList = (data) => {
  return request({
    url: '/dealer/pzUpdateShippingFeeM/selectUpdateShippingFeeMByCondition',
    method: 'post',
    data,
  })
}

/**
 * @description 根据ID查看修改商品配送费单据
 * @param {string} updateShippingFeeMId 配送费调价单ID
 * @returns {Promise} 配送费调价单详情
 */
export const getDeliveryFeeById = async (updateShippingFeeMId) => {
  const res = await request({
    url: '/dealer/pzUpdateShippingFeeM/viewUpdateShippingFeeMById',
    method: 'post',
    params: {
      updateShippingFeeMId,
    },
  })
  return res
}

/**
 * @description 保存/暂存配送费调价单
 * @param {Object} data 请求参数
 * @param {string} data.updateShippingFeeMId 主表ID
 * @param {string} data.documentNumber 单据编号
 * @param {string} data.documentTime 单据时间
 * @param {string} data.operatorId 操作员ID
 * @param {boolean} data.isCheck 是否审核
 * @param {string} data.checkerId 审核人ID
 * @param {string} data.checkTime 审核时间
 * @param {string} data.notes 备注
 * @param {string} data.dealerId 经销商ID
 * @param {string} data.dealer 经销商名称
 * @param {string} data.operatorName 操作员名称
 * @param {string} data.checkerName 审核人名称
 * @param {number} data.editType 编辑类型
 * @param {Array} data.pzUpdateShippingFeeDList 配送费明细列表
 * @returns {Promise}
 */
export const saveDeliveryFee = (data) => {
  return request({
    url: '/dealer/pzUpdateShippingFeeM/saveUpdateShippingFeeM',
    method: 'post',
    data,
  })
}

/**
 * @description 删除未审核的运费调价单据
 * @param {string} updateShippingFeeMId 配送费调价单ID
 * @returns {Promise}
 */
export const deleteDeliveryFee = async (updateShippingFeeMId) => {
  const res = await request({
    url: '/dealer/pzUpdateShippingFeeM/deleteUpdateShippingFeeMById',
    method: 'post',
    params: {
      updateShippingFeeMId,
    },
  })
  return res
}
